#类型转换

#将一种数据类型（整数，字符串，浮点数等）的值转换为另一种数据类型的过程称为类型转换。Python有两种类型的类型转换。

"""隐式类型转换"""

#在隐式类型转换中，Python自动将一种数据类型转换为另一种数据类型。此过程不需要任何用户参与。
#让我们看一个示例，其中Python促进将较低数据类型（整数）转换为较高数据类型（浮点数）以避免数据丢失。
num_int = 123
num_flo = 1.23

num_new = num_int + num_flo

print("num_int的数据类型:",type(num_int))
print("num_flo的数据类型:",type(num_flo))

print("num_new的值:",num_new)
print("num_new的数据类型:",type(num_new))

#在上面的程序中
#我们将两个变量num_int和num_flo 相加，并将值存储在变量num_new 中。
#我们分别查看所有三个对象的数据类型。
#在输出中，我们可以看到num_int的数据类型是 integer，num_flo的数据类型是一个float。
#另外，我们可以看到num_new具有float数据类型，因为 Python 总是将较小的数据类型转换为较大的数据类型，以避免数据丢失。

#字符串（较高）数据类型和整数（较低）数据类型的加法
num_int = 123
num_str = "456"

print("num_int的数据类型:",type(num_int))
print("num_str的数据类型:",type(num_str))

#报错
#print(num_int+num_str)

"""显式类型转换"""

#在“显式类型转换”中，用户将对象的数据类型转换为所需的数据类型。我们使用像预定义函数 int()，float()，str()等进行显式类型转换。

num_int = 123
num_str = "456"

print("num_int的数据类型:",type(num_int))
print("类型转换之前num str的数据类型:",type(num_str))

num_str = int(num_str)
print("类型转换后的num str的数据类型:",type(num_str))

num_sum = num_int + num_str

print("num_int与num_str的和:",num_sum)
print("sum的数据类型:",type(num_sum))

"""
要记住的要点
类型转换是对象从一种数据类型到另一种数据类型的转换。
隐式类型转换由Python解释器自动执行。
Python避免了隐式类型转换中的数据丢失。
显式类型转换也称为类型转换，用户使用预定义的函数转换对象的数据类型。
在类型转换中，当我们将对象强制为特定数据类型时，可能会发生数据丢失。
"""